﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Atlandiz.Data;

namespace Atlandiz.EnvanterVeZimmetYonetimi
{
    public partial class FormServis : DevExpress.XtraEditors.XtraForm
    {
        MsSqlAccessLayer SQL = new MsSqlAccessLayer(Army.SQL().ConnStr);
        public int EvrakCinsi;
        public int Urun_Id;
        public int KayId = 0;

        public FormServis()
        {
            InitializeComponent();
        }

        private void _btnKapat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void _btnSecTedarikci_Click(object sender, EventArgs e)
        {
            ListeTedarikci tl = new ListeTedarikci();
            tl.ForSelection = true;
            tl.ShowDialog();

            if (Army.EventConfirm == true)
            {
                _txtTedarikciFirmaInt.Text = Army.SecilenID.ToString();
                _txtTedarikciFirmaString.Text = Army.SQL().GetDataCell("Select tFirmaUnvan from Tedarikci where tID=" + _txtTedarikciFirmaInt.Text);
            }
        }

        private void FormServis_Load(object sender, EventArgs e)
        {
            CihazBilgiOku();
            EvrakAc();

        }

        public void EvrakAc()
        {
            String Sorgu = "SELECT \n" +
    "dbo.ServisFormlari.id, \n" +
    "(CASE WHEN dbo.ServisFormlari.EvrakCinsi = 1 THEN 'KABUL FORMU' ELSE 'SERVİS SEVK FORMU' END)Evrak, \n" +
    "dbo.Tedarikci.tFirmaUnvan, \n" +
    "(SELECT tFirmaUnvan FROM Tedarikci where tID=id_tedarikci_kargo)Kargo, \n" +
    "dbo.ServisFormlari.aciklama, \n" +
    "FORMAT(dbo.ServisFormlari.dto_evrak,'dd.MM.yyyy')EvrakTarihi, \n" +
    "dbo.CihazTur.ChzTur, \n" +
    "dbo.CihazMarka.ChzMarka, \n" +
    "dbo.CihazModel.ChzModel, \n" +
    "dbo.Cihaz.SeriNoIMEI, \n" +
    "dbo.ServisFormlari.EvrakCinsi, \n" +
    "dbo.ServisFormlari.id_tedarikci, \n" +
    "dbo.ServisFormlari.id_tedarikci_kargo, \n" +
    "dbo.ServisFormlari.KargoTakipKodu \n" +
    "FROM dbo.ServisFormlari LEFT OUTER JOIN \n" +
    "dbo.Tedarikci ON dbo.ServisFormlari.id_tedarikci = dbo.Tedarikci.tID LEFT OUTER JOIN \n" +
    "dbo.CihazTur INNER JOIN \n" +
    "dbo.Cihaz ON dbo.CihazTur.ctID = dbo.Cihaz.ctID INNER JOIN \n" +
    "dbo.CihazMarka ON dbo.Cihaz.cmID = dbo.CihazMarka.cmID INNER JOIN \n" +
    "dbo.CihazModel ON dbo.Cihaz.cmdID = dbo.CihazModel.cmdID ON dbo.ServisFormlari.id_cihaz = dbo.Cihaz.cID \n" +
    "WHERE ServisFormlari.id=" + KayId;

            DataTable dt = Army.SQL().GetDataTable(Sorgu);

            if (dt.Rows.Count > 0)
            {
                _txtTedarikciFirmaInt.Text = dt.Rows[0]["id_tedarikci"].ToString();
                _txtTedarikciFirmaString.Text = dt.Rows[0]["tFirmaUnvan"].ToString();
                _datetimeCihazAlisTarihi.DateTime = DateTime.Parse(dt.Rows[0]["EvrakTarihi"].ToString());
                _txtAciklamaString.Text = dt.Rows[0]["aciklama"].ToString();
                textEdit2.Text = dt.Rows[0]["Kargo"].ToString();
                textEdit1.Text = dt.Rows[0]["id_tedarikci_kargo"].ToString();
                textEdit3.Text = dt.Rows[0]["KargoTakipKodu"].ToString();
            }

        }


        public void CihazBilgiOku()
        {
            String Sorgu = "SELECT TOP 1 \n" +
                "dbo.Cihaz.cID, \n" +
                "dbo.CihazTur.ChzTur, \n" +
                "dbo.CihazMarka.ChzMarka, \n" +
                "dbo.CihazModel.ChzModel, \n" +
                "dbo.Cihaz.SeriNoIMEI \n" +
                "FROM dbo.Cihaz INNER JOIN \n" +
                "dbo.CihazTur ON dbo.Cihaz.ctID = dbo.CihazTur.ctID INNER JOIN \n" +
                "dbo.CihazMarka ON dbo.Cihaz.cmID = dbo.CihazMarka.cmID INNER JOIN \n" +
                "dbo.CihazModel ON dbo.Cihaz.cmdID = dbo.CihazModel.cmdID \n" +
                "WHERE (dbo.Cihaz.cID = " + Urun_Id + ")";

            DataTable dt = SQL.GetDataTable(Sorgu);

            if (dt.Rows.Count > 0)
            {
                labelControl2.Text = dt.Rows[0][1].ToString() + " - " + dt.Rows[0][2].ToString() + " - " + dt.Rows[0][3].ToString() + " - SN:" + dt.Rows[0][4].ToString();
            }

        }

        private void _btnKaydet_Click(object sender, EventArgs e)
        {
            if (_txtTedarikciFirmaInt.Text.ToString().Length < 1)
            {
                MessageBox.Show("Tedarikçi/Servis Seçmelisiniz!", "Eksik Veri.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (_datetimeCihazAlisTarihi.Text.ToString().Length < 1)
            {

                MessageBox.Show("Tarih Girmelisiniz.", "Eksik Veri.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (_txtAciklamaString.Text.ToString().Length < 1)
            {
                MessageBox.Show("Servis işlemi için açıklama girmelisiniz.", "Eksik Veri.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (KayId > 0)
            {
                if (textEdit1.Text.Length < 1) { textEdit1.Text = "0"; }
                string Sorgu = "UPDATE ServisFormlari SET id_tedarikci=" + _txtTedarikciFirmaInt.Text.ToString() + ",id_tedarikci_kargo=" + textEdit1.Text.ToString() + ",dto_evrak=Convert(datetime,'" + _datetimeCihazAlisTarihi.Text + "',104),KargoTakipKodu='" + textEdit3.Text.Trim().ToString() + "',aciklama='" + _txtAciklamaString.Text.Trim().ToString() + "' WHERE id=" + KayId;
                SQL.cmd(Sorgu);
                MessageBox.Show("Kayıt Güncellendi.", "İşlem Başarılı.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            else
            {
                if (textEdit1.Text.Length < 1) { textEdit1.Text = "0"; }
                string Sorgu = "INSERT INTO ServisFormlari (EvrakCinsi,id_cihaz,id_tedarikci,id_tedarikci_kargo,dto_evrak,KargoTakipKodu,aciklama,isDeleted) VALUES(" + EvrakCinsi + "," + Urun_Id + "," + _txtTedarikciFirmaInt.Text.ToString() + "," + textEdit1.Text.ToString() + ",Convert(datetime,'" + _datetimeCihazAlisTarihi.Text + "',104),'" + textEdit3.Text.Trim().ToString() + "','" + _txtAciklamaString.Text.Trim().ToString() + "',0)";
                SQL.cmd(Sorgu);
                MessageBox.Show("Kayıt Yapıldı.", "İşlem Başarılı.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }

        private void simpleButton1_Click(object sender, EventArgs e)
        {
            ListeTedarikci t2 = new ListeTedarikci();
            t2.ForSelection = true;
            t2.ShowDialog();

            if (Army.EventConfirm == true)
            {
                textEdit1.Text = Army.SecilenID.ToString();
                textEdit2.Text = Army.SQL().GetDataCell("Select tFirmaUnvan from Tedarikci where tID=" + textEdit1.Text);
            }
        }
    }
}